<?php

/**
 * Abstract Model Item class
 * @author greenogre <ogre.green@gmail.com>
 * @since 17.05.2012
 * @copyright 2012. greenogre
 * @licence LGPL
 */
abstract class Green_Model_ItemAbstract {

    /**
     * @abstract
     * @return mixed
     */
    abstract public function getId();

    /**
     * @abstract
     * @return mixed
     */
    abstract protected function _generateId();

    /**
     * @abstract
     * @param string $id
     * @return mixed
     */
    abstract protected function _setId($id);

    /**
     * @abstract
     * @param $id
     * @return mixed
     */
    abstract protected function _getInfo($id);

    /**
     * @abstract
     * @return mixed
     */
    abstract public function save();

}